1
การกำหนดตัวชี้ที่ชาญฉลาดและข้อมูลเสริม
AI034Lesson 15
00:00

A ตัวชี้ที่ชาญฉลาด คือโครงสร้างข้อมูลเชิงนามธรรมที่ทำงานเหมือนตัวชี้ แต่มีข้อมูลเพิ่มเติม ข้อมูลเสริม และตรรกะเพื่อจัดการข้อมูลที่มันชี้ไป ขณะที่การอ้างอิงมาตรฐาน (&T) เป็นแค่ที่อยู่หน่วยความจำแบบง่ายๆ — ตัวชี้แบบไม่ชาญฉลาด — แต่ รูปแบบตัวชี้ที่ชาญฉลาด ในเรสต์ใช้โครงสร้าง (structs) เพื่อห่อหุ้มตัวชี้ด้วยกฎเฉพาะสำหรับการเป็นเจ้าของ การควบคุมการเข้าถึง และการล้างข้อมูลอัตโนมัติ

ข้อได้เปรียบของข้อมูลเสริม

พิจารณาการอ้างอิงมาตรฐานเป็น กุญแจบ้านแบบพื้นฐาน: มันให้การเข้าถึง แต่ไม่มีอะไรเพิ่มเติม ตัวชี้ที่ชาญฉลาดคือ ระบบการ์ดกุญแจ; การ์ดนี้เก็บข้อมูลเสริม (บันทึกการเข้าถึง สิทธิ์การใช้งาน วันหมดอายุ) และสามารถล็อกประตู (ล้างข้อมูล) อัตโนมัติเมื่อคุณออกจากสถานที่

การอ้างอิงปกติ (&T)[ ที่อยู่ ]ตัวชี้ที่ชาญฉลาด (Box/Rc)ข้อมูลเสริม: จำนวนการอ้างอิง / ความยาว[ ที่อยู่ ]เฟอร์ริส 🦀? ข้อผิดพลาด: การเป็นเจ้าของหลายตัวล้มเหลวที่นี่!let z = x; let y = &x; // ขาดข้อมูลเสริม

ตรรกะหลัก

ในเรสต์ ตัวชี้ที่ชาญฉลาดจะถูกกำหนดโดยการนำใช้ Deref และ Drop _trait นี้ ซึ่งทำให้มันสามารถทำงานเหมือนการอ้างอิงได้ ในขณะที่ดำเนินตรรกะเฉพาะเมื่อมีการเข้าถึงหรือทำลาย

$$\text{ตัวชี้} + \text{ข้อมูลเสริม} + \text{Traits Deref/Drop} = \text{ตัวชี้ที่ชาญฉลาด}$$
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>